﻿
using System;
using System.Xml.Linq;

namespace WPay.Infrastructure.Unity.H5Pay
{
    /**
    * 	配置账号信息
    */
    public class WxPayConfig
    {
        public WxPayConfig(string filename)
        {
            XElement ls_e = null;
            ls_e = FileEncrypt.DecryptFile(filename, GetSystemInfo.GetMacAddress());
            APPID = ls_e.Element("appid").Value.Trim();
            //MCHID = ls_e.Element("mchid").Value.Trim(); 
            KEY = ls_e.Element("ssl_key").Value.Trim();
            //APPSECRET = ls_e.Element("appsecret").Value.Trim();
            SSLCERT_PATH = ls_e.Element("sslcert").Value.Trim();
            SSLCERT_PASSWORD = ls_e.Element("sslcertpassword").Value.Trim();
            IP = ls_e.Element("ip") == null ? "" : ls_e.Element("ip").Value.Trim();
            REPORT_LEVENL = Int32.Parse(ls_e.Element("reportlevenl").Value.Trim());
            LOG_LEVENL = Int32.Parse(ls_e.Element("loglevenl").Value.Trim());
            SubAPPID = ls_e.Element("sub_appid").Value.Trim();
            SubMCHID = ls_e.Element("sub_mchid").Value.Trim();
            Doubleliveswitch = ls_e.Element("doubleliveswitch") == null || string.IsNullOrEmpty(ls_e.Element("doubleliveswitch").Value) ? 98 : Convert.ToInt32(ls_e.Element("doubleliveswitch").Value.Trim());



        }

        //=======【基本信息设置】=====================================
        /* 微信公众号信息配置
        * APPID：绑定支付的APPID（必须配置）
        * MCHID：商户号（必须配置）
        * KEY：商户支付密钥，参考开户邮件设置（必须配置）
        * APPSECRET：公众帐号secert（仅JSAPI支付的时候需要配置）
        */
        public static string APPID = string.Empty;//"wx2428e34e0e7dc6ef";
        public static string SubAPPID = string.Empty;//"wx2428e34e0e7dc6ef";
        public static string MCHID = "1313002201";
        public static string SubMCHID = string.Empty;//"1233410002";
        public static string KEY = string.Empty;//"e10adc3849ba56abbe56e056f20f883e";
        //public static string APPSECRET = "51c56b886b5be869567dd389b3e5d1d6";

        //=======【证书路径设置】===================================== 
        /* 证书路径,注意应该填写绝对路径（仅退款、撤销订单时需要）
        */
        public static string SSLCERT_PATH = string.Empty;//"cert/apiclient_cert.p12";
        public static string SSLCERT_PASSWORD = string.Empty;//"1233410002";



        //=======【支付结果通知url】===================================== 
        /* 支付结果通知回调url，用于商户接收支付结果
        */
        public static string NOTIFY_URL = String.Empty;// "http://paysdk.weixin.qq.com/example/ResultNotifyPage.aspx";

        //=======【商户系统后台机器IP】===================================== 
        /* 此参数可手动配置也可在程序中自动获取
        */
        public static string IP = String.Empty;// "8.8.8.8";


        //=======【代理服务器设置】===================================
        /* 默认IP和端口号分别为0.0.0.0和0，此时不开启代理（如有需要才设置）
        */
        public static string PROXY_URL = String.Empty;// "http://10.152.18.220:8080";

        //=======【上报信息配置】===================================
        /* 测速上报等级，0.关闭上报; 1.仅错误时上报; 2.全量上报
        */
        public static int REPORT_LEVENL = 1;

        //=======【日志级别】===================================
        /* 日志等级，0.不输出日志；1.只输出错误信息; 2.输出错误和正常信息; 3.输出错误信息、正常信息和调试信息
        */
        public static int LOG_LEVENL = 0;
        /// <summary>
        /// 双活域名切换比例(,默认主98,备2
        /// </summary>
        public static int Doubleliveswitch = 98;


    }
}
